function y = KxR(nx, zeta, CONSTS)

    eps = CONSTS.eps;
    eta = CONSTS.eta;

    y1re = quadgk(@(nz)(real(funcKxR1(nx, nz, zeta, CONSTS))), abs(nx), 1000);
    y1im = quadgk(@(nz)(imag(funcKxR1(nx, nz, zeta, CONSTS))), abs(nx), 1000);
    y3re = quadgk(@(nz)(real(funcKxfull(nx, nz, zeta, CONSTS))), 0, abs(nx));
    y3im = quadgk(@(nz)(imag(funcKxfull(nx, nz, zeta, CONSTS))), 0, abs(nx));
    y2re = quadgk(@(nz)(real(funcKxR2(nx, nz, zeta, CONSTS))), sqrt(abs(eps/eta))*abs(nx), inf);
    y2im = quadgk(@(nz)(imag(funcKxR2(nx, nz, zeta, CONSTS))), sqrt(abs(eps/eta))*abs(nx), inf);
    y4re = quadgk(@(nz)(real(funcKxfull(nx, nz, zeta, CONSTS))), 0, sqrt(abs(eps/eta))*abs(nx));
    y4im = quadgk(@(nz)(imag(funcKxfull(nx, nz, zeta, CONSTS))), 0, sqrt(abs(eps/eta))*abs(nx));
    
    y = y1re + 1i*y1im + y3re + 1i*y3im + ...
        y2re + 1i*y2im + y4re + 1i*y4im;
    
end